package com.larly.model.domain;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 存储所有针对笔记的互动内容，note_id用于关联笔记但无强制外键约束
 * @TableName interactions
 */
@TableName(value ="interactions")
@Data
public class Interactions implements Serializable {
    /**
     * 互动记录ID，自增主键
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 关联的笔记ID（该互动针对哪篇笔记，关联notes表的id）
     */
    private Integer noteId;

    /**
     * 互动者ID（关联users表的id）
     */
    private Integer userId;

    /**
     * 互动内容（留言、分享、提问的具体文字）
     */
    private String content;

    /**
     * 父级互动ID（0-主互动，非0-表示是对某个互动的回复，关联本表的id）
     */
    private Integer parentId;

    /**
     * 是否精选（0-普通，1-博主精选展示）
     */
    private Integer isFeatured;

    /**
     * 互动内容的点赞数
     */
    private Integer likeCount;

    /**
     * 该互动的子回复数量
     */
    private Integer replyCount;

    /**
     * 互动发布时间
     */
    private Date createdAt;

    /**
     * 乐观锁版本号
     */
//    @Version
    private Integer version;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}